<?php
/**
 * Created by PhpStorm.
 * Date: 2016/7/28
 * Time: 16:39
 */

/**
 * 注册第一步
 * 先通过接收
 * 手机号码，验证码，用户名，密码，手机标示，ip，注册时手机系统类型，注册时手机系统版本，用户头像手机地址，用户头像图片内容
 *
 * 判断手机号码是否使用
 * 判断验证码是否正确
 * 判断用户名是否已经使用
 *
 * 如果以上都没有问题
 * 先保存 非用户头像图片内容 的数据
 * 然后通过生成的userid,得到userid
 * 对用户进行切片，每1000个用户切成一片，然后再图片保存的目录下面生成对应切片目录，将用户头像图片按userid.jpg的名称保存，如果存在就覆盖
 *      例如：0-999的用户会生成 0 的切片，然后生成0的目前，将0-999对应的头像和其他图片数据放入当中，1000-1999会有一个2的切片
 * 保存好数据后，返回userid，头像路径，让用户保存用户头像在项目路径下面
 *
 * 反馈功能标志和用户id 通过app可以进入第二步
 */

$RootDir = $_SERVER['DOCUMENT_ROOT'];
include $RootDir.'/utils/mysql/MysqlUtils.php';
include $RootDir.'/utils/CommonConstant.php';
include $RootDir.'/utils/FileUtils.php';


$phone=$_POST['phone']; //手机号码
$check=$_POST['check']; //验证码
$username=$_POST['username']; //用户名
$password=$_POST['password']; //密码
$ip=$_POST['ip']; //ip
$phone_id=$_POST['phone_id']; //mac
$imageSize=$_POST['imageSize'];
$head_local_path=$_POST['headlocalpath'];
$register_os=$_POST['register_os'];
$register_os_version=$_POST['register_os_version'];

$curtime = time();
$curTimeFormat = date('y-m-d h:i:s',$curtime);

$cout = -1;
$conn = conn_mysql();
//判断手机号码是否使用
$query = "select count(1) as cout from user_info where phone_num = '$phone' limit 1";
$result = queryRecord($query,$conn);
//echo mysql_num_rows($result);
while ($row=mysql_fetch_array($result, MYSQL_ASSOC)) {
    $cout = $row['cout'];
}
if ($cout == 1 )die("err: 手机号码已经被占用");
$cout = -1;

//判断验证码是否正确
$query = "select count(1) as cout from phone_check where phone = '$phone' and check_info = '$check' and $curtime BETWEEN starttime AND  endtime ";
$result = queryRecord($query,$conn);
while ($row=mysql_fetch_array($result, MYSQL_ASSOC)) {
    $cout = $row['cout'];
}
if ($cout == -1 )die("err: 验证码不对");
$cout = -1;

//判断用户名是否已经使用
$query = "select count(1) as cout from user_info where uname = '$username'";
$result = queryRecord($query,$conn);
while ($row=mysql_fetch_array($result, MYSQL_ASSOC)) {
    $cout = $row['cout'];
}
if ($cout == 1 )die("err: 用户名已经被占用");
$cout = -1;

//保存信息
$query = "insert into user_info (uname,pwd,phone_num,head_local_path,phone_id,ip,register_time,register_os,register_os_version)
          VALUES ('$username','$password','$phone','$head_local_path','$phone_id','$ip','$curTimeFormat','$register_os','$register_os_version')";
if (!mysql_query($query,$conn)) {
    die('err: ' . mysql_error());
}

$query = "select user_id from user_info where phone_num = '$phone'";
$result = queryRecord($query,$conn);
while ($row=mysql_fetch_array($result, MYSQL_ASSOC)) {
    $user_id = $row['user_id'];
    break;
}
if ($user_id == null)die("err: 查询出错");

/**
 * 对用户进行切片，每1000个用户切成一片，然后再图片保存的目录下面生成对应切片目录，将用户头像图片按userid.jpg的名称保存，如果存在就覆盖
*      例如：0-999的用户会生成 0 的切片，然后生成0的目前，将0-999对应的头像和其他图片数据放入当中，1000-1999会有一个2的切片
* 保存好数据后，返回userid，头像路径，让用户保存用户头像在项目路径下面
**/
$fileUtils = new FileUtils();
$segment = floor($user_id / 1000);
$prePath = IMAGE_ROOT_PATH . $segment . '/';
$headFileName = $prePath . $user_id . '.jpg';
$headTmpFileName = $prePath . $user_id . '_tmp.jpg';
$netHeadFileName = "/images/" . $segment . '/' . $user_id . '.jpg';    //保存的是相对地址，前缀是网络地址，非物理地址
$saveHead = False;
if ($imageSize == 1) {
    if ($fileUtils->createDir($prePath)) {
        if (file_exists($headFileName)) $fileUtils->moveFile($headFileName, $headTmpFileName,True);
        if (move_uploaded_file($_FILES[HTTPS_IMAGE_NAME_PRE]['tmp_name'], $headFileName)) {
            $query = "update user_info set head_path = '$netHeadFileName' where user_id = '$user_id'";
            if (!mysql_query($query,$conn)) {
                die('err: ' . mysql_error());
            }
            $saveHead = True;
            if (file_exists($headTmpFileName)) unlink($headTmpFileName);
        }else die('err: 保存图片失败');
    }else die('err: 创建保存图片路径失败');
}

if($saveHead)echo $user_id.','.$netHeadFileName;

mysql_close($conn);